from fastapi import FastAPI
from langchain_core.prompts import ChatPromptTemplate
from langserve import add_routes

from base import model

# 输入提示词模板
# prompt = [
#     SystemMessage(content="你是一个用于Java开发的智能代码助手"),
#     HumanMessage(content="写一个快速排序方法")
# ]
prompt = ChatPromptTemplate.from_messages(
    [
        ("system","你是一个用于{lang}开发的智能代码助手"),
        ("user","{input}"),
    ]
)
# chain = prompt.format({"input":"写一个快速排序算法"}) | llm

# 执行大模型计算 获取 结果
chain = prompt | model

#把我们的程序部署成服务 供 其它程序使用
# 创建fastapi的应用
app = FastAPI(
    title="java-ai-developer",
    version='v1.0',
    description='智能java软件开发助手'
)

add_routes(
    app,
    chain,
    path='/api'
)
if __name__ == '__main__':
    import uvicorn
    uvicorn.run(app,host='localhost',port=8080)